Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
@turf/destination
Advanced tools
@turf/destination is a module from the Turf.js library that allows you to calculate the destination point given a starting point, distance, and bearing. It is useful for geospatial analysis and manipulation, particularly in applications involving mapping, navigation, and geographic data processing.
Calculate Destination Point
This feature allows you to calculate the destination point from a given starting point, distance, and bearing. The code sample demonstrates how to use the @turf/destination module to find a point 50 miles east of the starting point.
const turf = require('@turf/turf');
const start = turf.point([-75.343, 39.984]);
const distance = 50;
const bearing = 90;
const options = {units: 'miles'};
const destination = turf.destination(start, distance, bearing, options);
console.log(destination);
Geolib is a library for geospatial calculations in JavaScript. It provides similar functionalities to @turf/destination, such as calculating distances, bearings, and destination points. However, Geolib is a more general-purpose library for geospatial calculations, whereas @turf/destination is part of the Turf.js library, which is specifically designed for advanced geospatial analysis.
Geodesy is a library for geodesic calculations in JavaScript. It offers functionalities for calculating distances, bearings, and destination points, similar to @turf/destination. Geodesy focuses on precise geodesic calculations, making it suitable for applications requiring high accuracy. In comparison, @turf/destination is part of the Turf.js library, which provides a broader range of geospatial analysis tools.
Takes a Point and calculates the location of a destination point given a distance in degrees, radians, miles, or kilometers; and bearing in degrees. This uses the Haversine formula to account for global curvature.
Parameters
from
Feature<Point> starting pointdistance
number distance from the starting pointbearing
number ranging from -180 to 180units
[string] miles, kilometers, degrees, or radians (optional, default kilometers
)Examples
var point = {
"type": "Feature",
"properties": {
"marker-color": "#0f0"
},
"geometry": {
"type": "Point",
"coordinates": [-75.343, 39.984]
}
};
var distance = 50;
var bearing = 90;
var units = 'miles';
var destination = turf.destination(point, distance, bearing, units);
destination.properties['marker-color'] = '#f00';
var result = {
"type": "FeatureCollection",
"features": [point, destination]
};
//=result
Returns Feature<Point> destination point
This module is part of the Turfjs project, an open source module collection dedicated to geographic algorithms. It is maintained in the Turfjs/turf repository, where you can create PRs and issues.
Install this module individually:
$ npm install @turf/destination
Or install the Turf module that includes it as a function:
$ npm install @turf/turf
FAQs
turf destination module
We found that @turf/destination demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 9 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.